
package com.hidt.shop.service.impl;
import com.hidt.shop.domain.User_table;
import com.hidt.shop.mapper.UserMapper;
import com.hidt.shop.service.UserService;
import com.hidt.shop.util.SafeUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserServiceImpl implements UserService {
    @Autowired
    private UserMapper userMapper;
    /**
     * 注册会员
     *@参数  user_table
     *@返回值  int
     *@创建人  lmf
     *@创建时间  2021/1/19
     */
    @Override
    public int AddUser(User_table user_table) {
        String pwd=SafeUtil.encode(user_table.getUser_pwd());
        user_table.setUser_pwd(pwd);
        return userMapper.AddUser(user_table);
    }
    /**
     * 会员登录
     *@参数  user_name，user_pwd
     *@返回值  int
     *@创建人  lmf
     *@创建时间  2021/1/19
     */
    @Override
    public int UserLogin(String user_name, String user_pwd) {
        User_table user = userMapper.UserLogin(user_name);
        if (user == null) {
            return 0;
        }
        if (user.getUser_pwd().equals(SafeUtil.encode(user_pwd))){
            return 2;
        }
        return 1;
    }
    /**
     * 会员修改自己的基本信息
     *@参数  user_table
     *@返回值  int
     *@创建人  lmf
     *@创建时间  2021/1/19
     */
    @Override
    public int UpdateUserByIds(User_table user_table) {
        int i = userMapper.UpdateUserById(user_table);
        return i;
    }

    /**
     * 判断用户名是否存在
     *@参数  user_name
     *@返回值  boolean
     *@创建人  lmf
     *@创建时间  2021/1/19
     */
    @Override
    public boolean isUserExist(String user_name) {
        if (userMapper.findUserByUsername(user_name) == null) {
            return false;
        } else {
            return true;
        }
    }
    /**
     * 通过用户名得到密码
     *@参数  user_name
     *@返回值  userMapper.findUserByUsername(user_name).getUser_pwd()
     *@创建人  lmf
     *@创建时间  2021/1/19
     */
    @Override
    public String getPasswordByUsername(String user_name) {
        return userMapper.findUserByUsername(user_name).getUser_pwd();
    }

    @Override
    public User_table findUserByUsername(String user_name) {
        User_table userByUsername = userMapper.findUserByUsername(user_name);
        return userByUsername;
    }

    @Override
    public User_table findUserById(int id) {
        User_table userById = userMapper.findUserById(id);
        return userById;
    }

    /**
     * 通过用户名修改密码
     *@参数  user_name
     *@返回值  userMapper.findUserByUsername(user_name).getUser_pwd()
     *@创建人  lmf
     *@创建时间  2021/1/19
     */
    @Override
    public void UpdatePwdByUsername(String user_name, String newuser_pwd) {
        User_table user = userMapper.findUserByUsername(user_name);
        user.setUser_name(user_name);
        user.setUser_pwd(newuser_pwd);
        userMapper.UpdatePwdByUsername(user);
    }

    /**
     * 管理员全查会员信息
     *@参数
     *@返回值  List<User_table>
     *@创建人  lmf
     *@创建时间  2021/1/20
     */
    @Override
    public List<User_table> FindAllUser() {
        List<User_table> users = userMapper.FindAllUser();
        return users;
    }

    /**
     * 管理员逻辑删除用户
     *@参数   int
     *@返回值  int
     *@创建人  lmf
     *@创建时间  2021/1/20
     */
    @Override
    public int DeleteUser(int id) {
        int i = userMapper.DeleteUser(id);
        return i;
    }
}

